package com.harmony.pilot.common.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 诊断信息
 * 用于代码错误检查和类型检查
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Diagnostic implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 文件路径
     */
    private String filePath;
    
    /**
     * 行号（1-based）
     */
    private int line;
    
    /**
     * 列号（1-based）
     */
    private int column;
    
    /**
     * 结束行号（可选）
     */
    private Integer endLine;
    
    /**
     * 结束列号（可选）
     */
    private Integer endColumn;
    
    /**
     * 严重级别（error, warning, info）
     */
    private String severity;
    
    /**
     * 错误消息
     */
    private String message;
    
    /**
     * 错误代码（可选）
     */
    private String code;
    
    /**
     * 源（可选，如clang, codeql等）
     */
    private String source;
    
    /**
     * 修复建议（可选）
     */
    private String suggestion;
}

